package com.itHsuSE.experiment;

/**
 * @author Hsu琛君珩
 * @version 1.0
 */
public class Experiment6_1 {
    public static void main(String[] args) {
        // 创建两个 DelayThread 对象
        DelayThread thread1 = new DelayThread();
        DelayThread thread2 = new DelayThread();

        // 启动线程1和线程2，它们将并行运行
        thread1.start();
        thread2.start();

        try {
            // 主线程休眠1秒，以确保线程有足够的时间执行
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // 如果休眠期间发生中断异常，输出错误消息
            System.out.println("Thread wrong");
        }
    }
}

class DelayThread extends Thread {
    private static int count = 0;
    private int no;// 编号
    private int delay;// 延迟

    public DelayThread() {
        // 给每个线程分配一个唯一的编号
        count++;
        no = count;
    }

    public void run() {
        try {
            // 模拟线程的行为，循环10次
            for (int i = 0; i < 10; i++) {
                // 生成随机的延迟时间
                delay = (int) (Math.random() * 5000);
                // 使线程休眠该时间
                sleep(delay);
                // 打印线程编号和延迟时间
                System.out.println("Thread " + no + " with a delay " + delay);
            }
        } catch (InterruptedException e) {
            // 如果在休眠期间发生中断异常，捕获异常，不执行任何操作
        }
    }
}
